<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // Symbol类型：定义一个独一无二的属性
        const name = Symbol("name");
        const color = Symbol("color");
        // const name2 = Symbol("name");

        // console.log(name==name2);
        // console.log(name2);
        // 如果使用Symbol定义的对象中的属性,必须使用[变量名]来取值
        //		Symbol定义的值无法遍历，不易操作,因此不常用   
        const obj = {
            [name]:"李四",
            name:"张三",
            age:4,
            sex:"男",
            [color]:"黄色"
        }
        // console.log(obj);
        //Symbol类型的属性不能被便利出来
        // for (const key in obj) {
        //         const item = obj[key];
        //         console.log(key,item);
        // }

    // 获取symbol属性
    //     const keys =   Object.getOwnPropertySymbols(obj);
    //    console.log(keys);
    //    便利
        // keys.forEach(key => {
        //     console.log(obj[key]);
        // });

        //		也可使用反射
        // const keys = Reflect.ownKeys(obj);
        // const keys = Object.keys(obj)//只能获取普通属性
        console.log(keys);
        keys.forEach(key=>{
            console.log(obj[key]);
        })
    </script>
</body>
</html>